package com.uroad.jilinpda.util;

import android.content.Context;

/**
 * @创建者 wlw
 * @创建时间 2019/7/10 17:32
 * @描述 ETC新办 正则匹配 正则为首页dataid返回
 */
public class RegularUtil {
    /**
     * 车牌号校验
     * @param context
     * @param plateNum 车牌号
     * @return
     */
    public static boolean isPlateNum(Context context, String plateNum) {
        try {
            /**
             * 车牌编号(车牌号+车牌颜色)
             */
            String format = "^([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领A-Z0-9]{1}[A-Z0-9]{1}([京津沪渝桂蒙宁新藏冀晋辽吉黑苏浙皖赣闽鲁粤鄂湘豫川云贵陕甘青琼])?[A-NP-Z0-9]{1}[A-NP-Z0-9]{3}[A-NP-Z0-9挂学警港澳领试超外]{1}([A-NP-Z0-9外])?)|^([A-Z0-9]{7})$|^默A00000$";
            if (plateNum.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 身份证姓名校验
     * @param context
     * @param idName 身份证姓名
     * @return
     */
    public static boolean isIDName(Context context, String idName) {
        try {
            /**
             * 个人姓名->所有个人用户，联系人之类
             * 中文字符，空格符（英文名时允许空格），大小写英文字母，英文句号，英文名字中的点“•·”
             */
            String format = "(^[A-Za-z\\s·•.]+$)|(^[\u2E80-\uFE4F·•.]+$)";
            if (idName.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 身份证号校验
     * @param context
     * @param idNum 身份证号
     * @return
     */
    public static boolean isIDNum(Context context, String idNum) {
        try {
            //正则
            String format = "^(11|12|13|14|15|21|22|23|31|32|33|34|35|36|37|41|42|43|44|45|46|50|51|52|53|54|61|62|63|64|65)\\d{15}(\\d{1}|X)$";
            if (idNum.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 部门名校验
     * @param context
     * @param departmentName 公司名
     * @return
     */
    public static boolean isDepartmentName(Context context, String departmentName) {
        try {
            String format = "^[\u2E80-\uFE4F\\w()（）.\\-·•—/\\&《》]+$";
            if (departmentName.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 部门编号校验
     * @param context
     * @param departmentNum 部门编号校验
     * @return
     */
    public static boolean isDepartmentNum(Context context, String departmentNum) {
        try {
            String format = "^[\\w()\\-（）—/]+$";
            if (departmentNum.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 地址校验
     * @param context
     * @param address 地址
     * @return
     */
    public static boolean isAddress(Context context, String address) {
        try {
            String format = "^[\u4e00-\u9fa5\\w\\.\\+()（）\\-·、——,，]*";
            if (address.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 车辆所有人校验
     * @param context
     * @param platename 车辆所有人
     * @return
     */
    public static boolean isplatename(Context context, String platename) {
        try {
            String format = "(^[\u2E80-\uFE4F\\w()（）.\\-·•—/\\&《》]+$)|(^[A-Za-z\\s·•.]+$)|(^[\u2E80-\uFE4F·•.]+$)";
            if (platename.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 车辆发动机正则
     * @param context
     * @param engine 车辆发动机
     * @return
     */
    public static boolean isEngine(Context context, String engine) {
        try {
            String format = "(^[\\w\\-/\\+\\*\\s\u2E80-\uFE4F—]+$)";
            if (engine.matches(format)) {
                return true;
            } else {
                return false;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
}
